package com.huatai.bi.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.huatai.bi.entity.DatasourceEntity;
import com.huatai.bi.query.DatasourceQuery;

import java.util.List;

public interface DatasourceService extends IService<DatasourceEntity> {


    /**
     * 分页查询数据
     * @param query
     * @return
     */
    Page page(DatasourceQuery query);

    /**
     * 构建附加信息
     * @param data
     */
    void buildExInfo(DatasourceEntity data);

    /**
     * 构建附加信息
     * @param list
     */
    void buildExInfo(List<DatasourceEntity> list);

    /**
     * 测试连接
     * @param entity
     */
    void connect(DatasourceEntity entity);

    /**
     * 获取模式
     * @param entity
     * @return
     */
    List<String> getSchema(DatasourceEntity entity);

    /**
     * 删除
     * @param id
     * @return
     */
    boolean removeById(Long id);

    /**
     * 获取密码解密后的数据
     * @param id
     * @return
     */
    DatasourceEntity getDecodeData(Long id);

    String schema(DatasourceEntity entity);
}
